import datetime
import time

from django.http import JsonResponse
from django.shortcuts import render, redirect

from utils.Myutils import isdate, thasday
from utils.pagination import Pagination
from web import models


def organclockdetail(request):
        # 判断会员到期没有，到期了，不能访问
        user_mobile_phone = request.session.get('user_mobile_phone', 0)  # 没有就user_id为0
        # 获取session中的user_id,如果用户登陆了，坑等有，如果没有登陆，就没有
        user_object = models.organization.objects.filter(mobile_phone=user_mobile_phone).first()
        if user_object:  # 木有登陆正确的账号
                v = models.trade.objects.filter(org_id=user_object.org_id).filter(status="2").order_by(
                        "-crdate").first()
                if v:  # 有没有单子
                        if v.end >= datetime.datetime.now():  # 没有到期
                                if request.method=="GET": #如果没有传入正确的时间参数则，返回当天的数据
                                        year=request.GET.get("year")
                                        month=request.GET.get("month")
                                        day=request.GET.get("day")
                                        print(request.GET.get("dataTime"))
                                        clocks=request.GET.get("clocks")


                                        if  isdate(year,month,day) and (clocks=="T" or clocks == "F"):#合法
                                                pass
                                        else:  #不合法就显示今天已经打卡的人，默认是今天已经打卡的人

                                                date1 = datetime.datetime.now()

                                                clock_object = models.clock.objects.filter(nowdate__gt=thasday(date1)[0]).filter(org_id=user_object.org_id)#今天全部的我们公司的人
                                                if clock_object:#渲染打卡结果
                                                        page_object = Pagination(
                                                                current_page=request.GET.get("page"),  # 当前访问的分页
                                                                all_count=clock_object.count(),  # 统计有多少条数据
                                                                base_url=request.path_info,
                                                                query_params=request.GET,
                                                                per_page=10,  # 每页显示的数据
                                                                pager_page_count=11  # 展示的总页数

                                                        )

                                                        clock_list = clock_object[page_object.start:page_object.end]

                                                        return render(request, 'web/organclockdetail.html',
                                                                      {"clock_list": clock_list,
                                                                       "page_html": page_object.page_html(),"state": True,"date":datetime.datetime.strftime(date1,'%Y-%m-%d')})


                                                else:
                                                        return render(request, 'web/organclockdetail.html',{"state": False,"date":datetime.datetime.strftime(date1,'%Y-%m-%d')})#没有人打卡

                        else:
                                return redirect('/web/price/')
                else:

                        return redirect('/web/price/')
        else:
                return redirect('/web/login/')

